Automating Type Soundness Proofs via Decision Procedures and Guided Reductions
نویسندگان
چکیده
Operational models of fragments of the Java Virtual Machine and the .NET Common Language Runtime have been the focus of considerable study in recent years, and of particular interest have been specifications and machine-checked proofs of type soundness. In this paper we aim to increase the level of automation used when checking type soundness for these formalizations. We present a semi-automated technique for reducing a range of type soundness problems to a form that can be automatically checked using a decidable first-order theory. Deciding problems within this fragment is exponential in theory but is often efficient in practice, and the time required for proof checking can be controlled by further hints from the user. We have applied this technique to two case studies, both of which are type soundness properties for subsets of the .NET Common Language Runtime. These case studies have in turn aided us in our informal analysis of that system.
منابع مشابه
Using Vampire in Soundness Proofs of Type Systems
Type systems for programming languages shall detect type errors in programs before runtime. To ensure that a type system meets this requirement, its soundness must be formally verified. We aim at automating soundness proofs of type systems to facilitate the development of sound type systems for domain-specific languages. Soundness proofs for type systems typically require induction. However, ma...
متن کاملAutomating Proof Steps of Progress Proofs: Comparing Vampire and Dafny
Developing provably sound type systems is a non-trivial task which, as of today, typically requires expert skills in formal methods and a considerable amount of time. Our Veritas [3] project aims at providing support for the development of soundness proofs of type systems and efficient type checker implementations from type system specifications. To this end, we investigate how to best automate...
متن کاملAutomating Soundness Proofs
When developing a new language with semantics described by Structural Operational Semantics (SOS), one often wants an axiomatisation of this language (w.r.t. to some equivalence) as well. We describe a method for automating the straightforward soundness proofs for the axioms of such an axiomatisation.
متن کاملConnection-Driven Inductive Theorem Proving
We present a method for integrating rippling-based rewriting into matrix-based theorem proving as a means for automating inductive specification proofs. The selection of connections in an inductive matrix proof is guided by symmetries between induction hypothesis and induction conclusion. Unification is extended by decision procedures and a rippling/reverse-rippling heuristic. Conditional subst...
متن کاملAutomating the Synthesis of Decision Procedures in a Constructive Metatheory Automating the Synthesis of Decision Procedures in a Constructive Metatheory
universitt a di genova facoltt a di ingegneria dipartimento informatica sistemistica telematica Preprint 0 (1998) ?{? We present an approach to the automatic construction of decision procedures, via a detailed example in propositional logic. The approach adapts the methods of proof-planning and the heuristics for induction to a new domain, that of meta-theoretic procedures. This approach starts...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2002